package com.asen.commons.exception;

import com.asen.commons.core.base.enums.ResultTypeEnum;
import com.asen.commons.core.base.ResultCode;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

public class RemoteException extends BaseException {
    @JsonFormat(
            pattern = "yyyy-MM-dd",
            timezone = "GMT+8"
    )
    private Date timestamp;
    private Integer status;
    private String path;

    public RemoteException() {
    }

    public RemoteException(String message) {
        super(message);
    }

    public RemoteException(String message, String detail) {
        super(message, detail);
    }

    public RemoteException(ResultTypeEnum type, String message) {
        super(type, message);
    }

    public RemoteException(ResultTypeEnum type, String message, String detail) {
        super(type, message, detail);
    }

    public RemoteException(ResultCode errorCode) {
        super(errorCode);
    }

    public RemoteException(ResultCode errorCode, String message) {
        super(errorCode, message);
    }

    public RemoteException(ResultCode errorCode, String message, String detail) {
        super(errorCode, message, detail);
    }

    public RemoteException(Throwable cause) {
        super(cause);
    }

    public RemoteException(String message, Throwable cause) {
        super(message, cause);
    }

    public RemoteException(String message, String detail, Throwable cause) {
        super(message, detail, cause);
    }

    public String getPath() {
        return this.path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Date getTimestamp() {
        return this.timestamp;
    }

    public void setTimestamp(Date timestamp) {
        this.timestamp = timestamp;
    }

    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}
